OTN and DFO Activity Summary in Eastern Canada: DRAFT
About this Document
This summary has been created using reproducible code, which gathers and filters data from the Ocean Tracking Network (OTN) to highlight activities in which Fisheries and Oceans Canada (DFO) has actively participated as a collaborator in eastern Canada.
This summary is being prepared with the support of the OTN International Data Management Committee and DFO staff to provide an overview of current OTN DFO activities.
Please note that while we strive to include all relevant DFO-OTN information in this summary, there may be instances where some projects are not listed. If you are a DFO investigator with an OTN project that you do not see here, we encourage you to contact OTN directly.
DFO & OTN
The Ocean Tracking Network (OTN) is a global platform uniting marine scientists worldwide. OTN deploys acoustic receivers and oceanographic equipment in oceans worldwide, tracking marine species and ocean conditions. Scientists tag marine species with small transmitters, allowing precise monitoring of their movements, migrations, and habitat use. Some animals carry ocean-sensing instruments to monitor their habitat. OTN also collects data from shipboard sampling, satellite imagery, and gliders to assess ocean characteristics. For more information, visit http://oceantrackingnetwork.org/.
The Department of Fisheries and Oceans (DFO) is a partner in the OTN effort: https://www.dfo-mpo.gc.ca/science/mammals-mammiferes/otn/index-eng.html DFO plays a role in OTN projects by deploying receivers, tagging species, and/or contributing to research efforts. DFO scientists also upload data to OTN’s database to manage and ensure data quality.
OTN Data Wrangling
In this section, we gather data from OTN and leverage it to create informative maps and plots for this summary document. Our process involves data acquisition, filtering, and visualization. Below, we provide a brief overview of these steps, and you can expand the code sections to see the full data wrangling process.
proj_start <- ymd("20190101")
proj_end <- ymd("20230909")
proj_long_upp <- -40.00
proj_long_low <- -70.00
proj_lat_upp <- 60.00
proj_lat_low <- 40.00geoserver_receivers <- readr::read_csv('https://members.oceantrack.org/geoserver/otn/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=otn:stations_receivers&outputFormat=csv', guess_max = 13579)geoserver_tag_releases <- readr::read_csv('https://members.oceantrack.org/geoserver/otn/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=otn:animals&outputFormat=csv', guess_max = 13579)
geoserver_tag_releases <- geoserver_tag_releases %>%
filter(yearcollected > 2018)geoserver_projects <- readr::read_csv('https://members.oceantrack.org/geoserver/otn/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=otn:otn_resources_metadata_points&outputFormat=csv', guess_max = 13579)otn_stations <- geoserver_receivers %>%
filter(!is.na(deploy_date)) %>%
filter((deploy_date > proj_start & deploy_date < proj_end) |
(recovery_date < proj_end & recovery_date > proj_start) |
(deploy_date < proj_end & is.na(recovery_date) & deploy_date > proj_start - duration(18, 'months')) |
(grepl('VR3', model) & deploy_date < proj_end & is.na(recovery_date) & deploy_date > proj_start - duration(4, 'years')) |
(grepl('VR4', model) & deploy_date < proj_end & is.na(recovery_date) & deploy_date > proj_start - duration(6, 'years'))) %>%
filter(stn_lat >= proj_lat_low & stn_lat <= proj_lat_upp &
stn_long >= proj_long_low & stn_long <= proj_long_upp)# Define the columns to keep
columns_to_keep <- c("FID", "institutioncode", "datacenter_reference", "scientificname", "vernacularname",
"longitude", "latitude", "basisofrecord", "yearcollected", "collector", "classname")
# Filter and select the desired columns
otn_animals <- geoserver_tag_releases %>%
filter(longitude >= proj_long_low & longitude <= proj_long_upp &
latitude >= proj_lat_low & latitude <= proj_lat_upp) %>%
select(all_of(columns_to_keep))# Define the columns to keep
columns_to_keep_projects <- c("FID", "resource_full_name", "ocean", "seriescode", "status", "collaborationtype")
# Filter and select the desired columns
otn_projects <- geoserver_projects %>%
filter(seriescode == "DFOCanada") %>%
select(all_of(columns_to_keep_projects))OTN Summary of Receivers in Eastern Canada
library(leaflet)
# Create a Leaflet map
map <- leaflet(otn_stations) %>%
addTiles() # Add default basemap
# Add circle markers for each station
map <- map %>%
addCircleMarkers(
lng = ~stn_long,
lat = ~stn_lat,
label = ~paste(seriescode, instrumenttype, sep = " - "),
radius = 0.5, # Adjust the circle marker size as needed
color = ~ifelse(seriescode == "DFOCanada", "red", "blue"), # Marker color
fillOpacity = 0.8 # Adjust fill opacity
)
#Add bounding box based on filter
map <- map %>%
addRectangles(
lng1 = proj_long_low, # Left longitude
lat1 = proj_lat_low, # Lower latitude
lng2 = proj_long_upp, # Right longitude
lat2 = proj_lat_upp, # Upper latitude
weight = 2.5, # Border width
color = "darkorange", # Border color
fill = FALSE # Don't fill the rectangle
)
map <- map %>%
addLegend(
position = "bottomleft",
colors = c("blue", "red", "darkorange"),
labels = c("All OTN", "OTN-DFO", "Data filter"),
title = "Legend"
)
map <- map %>%
addControl(
html = sprintf("<strong>Filter:</strong> %s - %s", proj_start, proj_end)
)# Calculate the total number of receivers for each seriescode
summary_table <- otn_stations %>%
group_by(seriescode) %>%
summarize(
Total_Receivers = n()) %>%
mutate(Percentage_Relative_To_Total = round((Total_Receivers / sum(Total_Receivers)) * 100, 0)) # Calculate percentage and round
# Print table
table_receivers<- knitr::kable(summary_table,
format = "markdown",
align = "l",
width = "100%")Disclaimer: Information includes data that has been filtered for specific criteria relevant for eastern Canada and does not encompass all available OTN data. For a comprehensive dataset, please visit the OTN website.
# Display the map and table
maptable_receivers| seriescode | Total_Receivers | Percentage_Relative_To_Total |
|---|---|---|
| DFOCanada | 1348 | 19 |
| OTNCanada | 431 | 6 |
| OTNGlobal | 4425 | 63 |
| UNAFFILIATED | 819 | 12 |
OTN Summary of Species Tagged in Eastern Canada as part of DFO projects
This section is a summary of the OTN-DFO data, focusing on # of animals tagged by species in Eastern Canada. It includes the following elements:
- Number of animals tagged (i.e. number of tags deployed) displayed on the y-axis.
- Species displayed on the x-axis.
- A summary statistic comparing the number of animals tagged with involvement from DFO
# Create a summary table with counts of animals tagged by species
summary_otn_animals <- otn_animals %>%
group_by(vernacularname) %>%
summarise(Count = n(),
Count_DFO = sum(grepl("DFO", institutioncode)))
# Reorder the levels of vernacularname based on Count in descending order
summary_otn_animals <- summary_otn_animals %>%
arrange(desc(Count)) %>%
mutate(vernacularname = factor(vernacularname, levels = vernacularname))
library(plotly)
plot_animals <- ggplot(summary_otn_animals, aes(x = vernacularname)) +
geom_bar(aes(y = Count, fill = "OTN"), stat = "identity", position = "dodge") +
geom_bar(aes(y = Count_DFO, fill = "OTN-DFO"), stat = "identity", position = "dodge") +
labs(
title = "Number of Animals Tagged by Species in Eastern Canada",
x = "Species",
y = "Number of Animals Tagged"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
coord_flip() +
scale_fill_manual(values = c("OTN" = "blue", "OTN-DFO" = "red"))
# Convert the ggplot plot to a plotly object
interactive_plot <- ggplotly(plot_animals) %>%
layout(legend = list(x = 0.5, y = 1))# Create a Leaflet map named map_animals
map_animals <- leaflet(otn_animals) %>%
addTiles() # Add default basemap
# Add circle markers for each animal tagged
map_animals <- map_animals %>%
addCircleMarkers(
lng = ~longitude,
lat = ~latitude,
label = ~paste(institutioncode, scientificname, vernacularname, yearcollected, collector, sep = " - "),
radius = 0.5, # Adjust the circle marker size as needed
color = ~ifelse(grepl("DFO", institutioncode), "red", "blue"), # Marker color
fillOpacity = 0.8 # Adjust fill opacity
)
#Add bounding box based on filter
map_animals <- map_animals %>%
addRectangles(
lng1 = proj_long_low, # Left longitude
lat1 = proj_lat_low, # Lower latitude
lng2 = proj_long_upp, # Right longitude
lat2 = proj_lat_upp, # Upper latitude
weight = 2.5, # Border width
color = "darkorange", # Border color
fill = FALSE # Don't fill the rectangle
)
# Add legend
map_animals <- map_animals %>%
addLegend(
position = "bottomleft",
colors = c("blue", "red", "darkorange"),
labels = c("OTN", "OTN-DFO", "Data filter"),
title = "Legend"
)
# Create a text box to display min and max years
min_year <- min(otn_animals$yearcollected)
max_year <- max(otn_animals$yearcollected)
map_animals <- map_animals %>%
addControl(
html = sprintf("<strong>Year Collected Range:</strong> %d - %d", min_year, max_year),
position = "topleft"
)map_animalsinteractive_plotknitr::kable(summary_otn_animals, format = "markdown",
col.names = c("Species", "OTN", "OTN-DFO"),
caption = "Summary of Animals Tagged by Species in Eastern Canada")| Species | OTN | OTN-DFO |
|---|---|---|
| Atlantic salmon | 409 | 409 |
| Atlantic cod | 59 | 59 |
| blue shark | 50 | 0 |
| American lobster | 38 | 0 |
| Atlantic halibut | 37 | 37 |
| American eel | 33 | 0 |
| alewife | 32 | 32 |
| snow crab | 20 | 20 |
| Atlantic tomcod | 1 | 1 |
| shorthorn sculpin | 1 | 1 |
OTN and DFO Project Summaries
This section provides an overview of the 24 DFO-OTN projects available in the OTN database.
We have applied a basic filter in this section, considering projects affiliated with DFO, without specific filters related to years or geographic locations.
Please note that while we strive to include all relevant DFO-OTN projects in this summary, there may be instances where some projects are not listed. If you are a DFO researcher with an OTN project that you do not see here, we encourage you to contact OTN directly.
For the most up-to-date and comprehensive information on OTN projects and their participants, please visit the official OTN website: OTN Website
stacked_bar_plot <- ggplot(otn_projects, aes(x = collaborationtype, fill = status)) +
geom_bar() +
labs(title = "Collaboration Type Distribution") +
theme_minimal() +
scale_fill_manual(values = c("ongoing" = "green", "completed" = "blue", "proposed" = "orange")) +
coord_flip()
# Convert the ggplot to a plotly object
interactive_stacked_bar_plot <- ggplotly(stacked_bar_plot)
interactive_stacked_bar_plot %>%
layout(legend = list(x = 0.5, y = 1))knitr::kable(otn_projects[, c("resource_full_name", "ocean", "status", "collaborationtype")],
caption = "Summary of DFO-OTN Projects",
format = "html",
col.names = c("Project Title", "Ocean", "Status", "Collaboration Type"))| Project Title | Ocean | Status | Collaboration Type |
|---|---|---|---|
| Migration of spiny dogfish | NW ATLANTIC | completed | Tracker |
| Using a combination of 180kHz acoustic telemetry and satellite telemetry to quantify the early survival of harbour seal pups and connectivity between colonies of the St Lawrence Estuary | NW ATLANTIC | ongoing | Data |
| Southern Gulf of St. Lawrence - DFO Cod Tagging | NW ATLANTIC | completed | Tracker |
| Homing behaviour of short horn sculpin (Myoxocephalus scorpius) as measured by telemetry tracking in Newman Sound, Terra Nova National Park | NW ATLANTIC | completed | Data |
| Dispersal in juvenile cod | NW ATLANTIC | completed | Data |
| Maritimes Conservation Network: Gully Marine Protected Area (MPA) Acoustic Tracking Study | NW ATLANTIC | ongoing | Data |
| Mixing of northern Gulf of St Lawrence cod into 3Ps: The Counting Fence project | NW ATLANTIC | completed | Data |
| LaHave River, NS, Canada: DFO Salmon tagging | NW ATLANTIC | completed | Tracker |
| Movement and habitat use of wolffish species in Newfoundland waters | NW ATLANTIC | completed | Data |
| Inner Bay of Fundy Striped Bass Acoustic Telemetry | NW ATLANTIC | ongoing | Data |
| St. Mary’s River adult Atlantic salmon tracking project | NW ATLANTIC | completed | Data |
| Movements of Greenland sharks near the seal colony at Sable Island, Canada | NW ATLANTIC | ongoing | Tracker |
| Smith Sound, Newfoundland - DFO Acoustic Array and Atlantic Cod Tagging | NW ATLANTIC | ongoing | Data |
| Long-term telemetry study of Gilbert Bay Marine Protected Area, Southern Labrador | NW ATLANTIC | ongoing | Data |
| Kennebecasis Basin Salmon Tracking | NW ATLANTIC | completed | Tracker |
| Maritimes Region Atlantic salmon marine survival and migration. | NW ATLANTIC | ongoing | Data |
| Maritimes Conservation Network: St. Anns Bank Marine Protected Area (MPA) Acoustic Tracking Study | NW ATLANTIC | ongoing | Data |
| Shark Spatial Ecology and life history in NL waters | NW ATLANTIC | ongoing | Data |
| Assessing the effects of aquaculture operations on the distribution and abundance of pelagic fishes and large predators in the Bay of Fundy. ##### Évaluation des effets des opérations aquaculture sur la distribution et l’abondance des poissons pélagiques et des grands prédateurs dans la baie de Fundy. | NW ATLANTIC | ongoing | Data |
| DFO-NL Atlantic Cod Telemetry | NW ATLANTIC | ongoing | Tracker |
| Investigating the spatial habitat interactions of a recent invader, green crab, to native species within Placentia Bay, Newfoundland | NW ATLANTIC | completed | Data |
| Residency time, migration route, and survival of Atlantic salmon (Salmo salar) smolts and kelts in a Canadian fjord. | NW ATLANTIC | completed | Data |
| Migration of porbeagle and blue sharks | NW ATLANTIC | completed | Tracker |
| Scotian Shelf Snow Crab Tagging | NW ATLANTIC | ongoing | Data |
Future work includes creating the following additional information for projects:
- Project Title:
- Citation:
- Points of contact:
- Species tagged:
- Abstract: